<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides classes that can read and write the CBOR data format.

Commonly Used Types:
System.Formats.Cbor.CborReader
System.Formats.Cbor.CborWriter</PackageDescription>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="$(CommonPath)System\Memory\PointerMemoryManager.cs" Link="Common\System\Memory\PointerMemoryManager.cs" />
    <Compile Include="$(CommonPath)System\Obsoletions.cs" Link="Common\System\Obsoletions.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReaderState.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.PeekState.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.SkipValue.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Simple.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Tag.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Array.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Integer.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Map.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.String.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Array.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Map.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Simple.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.String.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Integer.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Tag.cs" />
    <Compile Include="System\Formats\Cbor\CborConformanceLevel.cs" />
    <Compile Include="System\Formats\Cbor\CborInitialByte.cs" />
    <Compile Include="System\Formats\Cbor\CborTag.cs" />
    <Compile Include="System\Formats\Cbor\CborContentException.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETCoreApp'">
    <Compile Include="System\Formats\Cbor\CborHelpers.netcoreapp.cs" />
    <Compile Include="System\Formats\Cbor\HalfHelpers.netcoreapp.cs" />
    <Compile Include="System\Formats\Cbor\Reader\CborReader.Simple.netcoreapp.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Simple.netcoreapp.cs" />
  </ItemGroup>
  
  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <Compile Include="System\Formats\Cbor\CborHelpers.netstandard.cs" />
    <Compile Include="System\Formats\Cbor\HalfHelpers.netstandard.cs" />
    <Compile Include="System\Formats\Cbor\Writer\CborWriter.Simple.netstandard.cs" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' != '.NETCoreApp'">
    <PackageReference Include="System.Buffers" Version="$(SystemBuffersVersion)" />
    <PackageReference Include="System.Memory" Version="$(SystemMemoryVersion)" />
    <PackageReference Include="Microsoft.Bcl.HashCode" Version="$(MicrosoftBclHashCodeVersion)" />
    <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafeVersion)" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <PackageReference Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
  </ItemGroup>

</Project>
